package com.song.tools.export.core;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import java.io.Serial;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 导出任务表
 * </p>
 *
 * @author song tools
 * @since 2024-07-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("export_task")
public class ExportTask implements Serializable {

    @Serial
    private static final long serialVersionUID = -4227852456732792749L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 租户ID
     */
    private Long customerId;

    /**
     * 系统编码
     */
    private String sysCode;

    /**
     * 类型
     */
    private Integer type;

    /**
     * 标题
     */
    private String title;

    /**
     * 状态：1:新建任务 2：正在导出 3：导出成功 4:导出失败
     */
    private Integer status;

    /**
     * 业务自定义的导出记录ID
     */
    private Long businessId;

    /**
     * 保存文件路径
     */
    private String fileUrl;

    /**
     * 失败原因
     */
    private String failReason;

    /**
     * 订单导出条件，为了重试，重新新导出，记录导出条件
     */
    private String exportCondition;

    /**
     * 发起导出人的 id
     */
    private Long userId;

    /**
     * 发起导出的人的姓名
     */
    private String userName;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    private LocalDateTime updateTime;
}
